English translation after german! Problemstellung Unregelmäßig aber häufig funktioniert das Internet plötzlich nicht mehr. Mit den üblichen Tools wie isdnctrl, ifconfig oder imon wird angezeigt, dass alles in Ordnung ist. Ich kann aber keine Internetseite mehr öffnen, keinen Rechner pingen oder sonst irgendwas im Internet. Logging Bei dem Fehlerfall tritt folgendes auf (max. Loggingstufe): Oct 31 10:12:34 superbyte -- MARK -- Oct 31 10:17:04 superbyte kernel: NETDEV WATCHDOG: ippp0: transmit timed out Oct 31 10:17:04 superbyte kernel: isdn_tx_timeout dev ippp0 dialstate 0 Oct 31 10:17:04 superbyte kernel: ippp0: all channels busy - requeuing! Oct 31 10:17:44 superbyte kernel: NETDEV WATCHDOG: ippp0: transmit timed out Diese Fehlermeldung kommt unendlich oft, bis ich reconnecte (isdnctrl hangup und dann isdntrl dial). Hardware Ich setze die PCI Fritz Card v1.0 ein. 00:08.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH A1 ISDN [Fritz] (rev 02) Interrupts: 5: 6762773 XT-PIC HiSax aber nicht geshared! Kernelversion: Linux version 2.4.22-mh1 (root@superbyte) (gcc version 2.95.4) ISDN Module (nicht im Fehlerfall) hisax 144640 3 (autoclean) isdn 119392 4 (autoclean) [hisax] slhc 4704 1 (autoclean) [isdn] capi 18336 0 capifs 3584 1 [capi] kernelcapi 29760 1 [capi] capiutil 14848 0 [kernelcapi] ifconfig (nicht im Fehlerfall) ippp0 Protokoll:Punkt-zu-Punkt Verbindung inet Adresse:212.183.114.58 P-z-P:195.3.95.186 Maske:255.255.255.255 UP PUNKTZUPUNKT RUNNING NOARP MTU:1500 Metric:1 RX packets:300869 errors:0 dropped:0 overruns:0 frame:0 TX packets:316706 errors:294 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:30 RX bytes:113683628 (108.4 MiB) TX bytes:95157882 (90.7 MiB) Ursache Durch den Patch von Karsten Keil: --- linux-2.4.22.org/drivers/isdn/hisax/avm_pci.c 2002-11-29 00:53:13.000000000 +0100 +++ linux-2.4.22/drivers/isdn/hisax/avm_pci.c 2003-11-10 10:37:18.000000000 +0100 @@ -448,6 +448,7 @@ /* Here we lost an TX interrupt, so * restart transmitting the whole frame. */ + printk(KERN_WARNING "avm fritz XDU %p %lx\n", bcs->tx_skb, bcs->Flag); if (bcs->tx_skb) { skb_push(bcs->tx_skb, bcs->hw.hdlc.count); bcs->tx_cnt += bcs->hw.hdlc.count; konnte ich herausfinden, dass sich der TX Prozess ständig aufhängt, wegen verlorenen Interrupts. allerdings funktionierte das Recovery, da nach dem ersten Logeintrag auch weiterhin eine Verbindung aufgebaut war, und der Fehler erst nach vielen Fehlern auftrat. Normal ist wenn maximal eine Meldung alle paar Minuten auftritt, problematisch: Nov 11 12:33:34 superbyte kernel: avm fritz XDU d78f4ec0 e Nov 11 12:33:38 superbyte last message repeated 95 times Nov 11 12:33:38 superbyte kernel: avm fritz XDU ca89f840 e Nov 11 12:33:40 superbyte last message repeated 80 times Nov 11 12:33:41 superbyte kernel: avm fritz XDU d78f4bc0 e (Vorallem die Anzahl der Wiederholungen beachten) Dadurch wurde eindeutig geklärt, dass es sich um einen Treiber- oder Hardwareproblem handelt. Ich habe auf meinem PC auch andere Systeme laufen (Mandrake und Suse) auf denen dieser Fehler nicht auftrat. Daraus folgerte ich, dass die Hardware in Ordnung ist. Zurück zu meinen Standardsystem testete ich ältere Kernel, und siehe, da ein alter 2.4.20er Kernel produzierte den Fehler nicht. Durch exaktes kopieren der Konfiguration konnte ich auch den 2.4.23 Kernel zum laufen kriegen. Mich wunderte, dass mit der neuen Konfiguration plötzlich auch dma funktionierte, welches vorher ein Freeze ausgelöst hatte. Der Grund für das ISDN und DMA Problem war dass der IDE AMD/Nvidia Support nicht aktiviert war. Selbst als Modul funktionierte das System nicht (Freeze bei insmod). Ich hoffe ich konnte irgendwen helfen, der das gleiche Problem hat. ******************************** Topic of problem Sometimes the internet suddenly does not work. With isdn-tools like isdnctrl, ifconfig or imon it shows that i am connected with the provider. But i can't open any Internetpage or ping any PC in the Internet. Logfiles With the maximum logging it says: Oct 31 10:17:04 superbyte kernel: NETDEV WATCHDOG: ippp0: transmit timed out Oct 31 10:17:04 superbyte kernel: isdn_tx_timeout dev ippp0 dialstate 0 Oct 31 10:17:04 superbyte kernel: ippp0: all channels busy - requeuing! Oct 31 10:17:44 superbyte kernel: NETDEV WATCHDOG: ippp0: transmit timed out The message repeats every 40 seconds, until i reconnect to the internet with isdnctrl hangup and dial. Hardware I use PCI Fritz Card v1.0 00:08.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH A1 ISDN [Fritz] (rev 02) Interrupts: 5: 6762773 XT-PIC HiSax Kernel Linux version 2.4.22-mh1 (root@superbyte) (gcc version 2.95.4) Solution: The Isdn Driver is losing interrupts. Try to change the IDE Cable or other IDE Devices. In my case it was that the Kernel did not support IDE AMD/Nvidia. Compiling it in helped and in addition DMA worked afterwards (but even without DMA the Problem did not appear again)